10 REM********************************* 20 REM* PROGRAMMNAME : XREF * 30 REM* C-64 * 40 REM* FLOPPY 1541 O. AEHNLICHE * 50 REM* DRUCKER (Z.B. MPS 801) * 60 REM* VON STEFAN BECKER * 70 REM********************************* 80 CLR:GOTO150 90 X2=X:GET#1,A$:X=ASC(A$+CHR$(0)):IF(64ANDST)=0THENRETURN 100 CLOSE1:IFPATHENPA=0:GOTO520 110 GOTO960 120 GOSUB90:X1=X:GOSUB90:X=X1+256*X:RETURN 130 IFSP"B"ANDA$<>"D"GOTO240 250 IFA$="B"THENPRINT"[194]ILDSCHIRM.":DV=3:GOTO270 260 PRINT"[196]RUCKER.":DV=4 270 PRINT" [145]" 280 OPEN1,0:PRINT"[208]ROGRAMMNAME: ";:INPUT#1,NA$:CLOSE1:PRINT 290 OPEN2,8,15:OPEN1,8,2,NA$+",P,R":GOSUB1290:GOSUB120:IFX=2049THEN310 300 PRINT:PRINT"[196]AS [208]ROGRAMM MUSS AB 2049 LIEGEN.":GOTO1310 302 : 304 : 305 REM******************************** 306 REM PASS 1 SPRUNGTABELLE 308 REM******************************** 309 : 310 PRINT"[147][208]ASS 1 ([211]UCHEN DER [211]PRUENGE)":PA=1 320 GOSUB120:GOSUB120:ZE$=RIGHT$(" "+STR$(X),5):PRINT""ZE$ 325 Y=0:Y2=0 330 GOSUB90 340 IFX=0GOTO320 342 IFX=34THENY2=NOTY2 345 IFY2THEN330 348 IFX=137ORX=138ORX=141ORX=167ORX=203THENS1$="":Y1=0:Y2=0:GOTO355 350 GOTO330 355 IFX=203THENY=1 358 IFX=167THENY1=1 360 GOSUB90:IFX=32ORX=164ANDYTHEN360 370 IFX>=48ANDX<=57THENS1$=S1$+A$:GOTO360 380 IFS1$=""GOTO470 390 S1$=RIGHT$(" "+S1$,6) 400 IFLEFT$(SP$(SP),5)<>ZE$THENSP=SP+1:GOSUB130:SP$(SP)=ZE$+":" 410 IFLEN(SP$(SP))>70THENSP=SP+1:GOSUB130:SP$(SP)=ZE$+":" 420 IFRIGHT$(SP$(SP),6)<>S1$THENSP$(SP)=SP$(SP)+S1$ 430 FORI=1TOPS 440 IFLEFT$(PS$(I),6)<>S1$THENNEXT:PS=I:GOSUB130:PS$(I)=S1$+":" 450 IFLEN(PS$(I))<70THEN460 455 IFRIGHT$(PS$(I),5)=ZE$THEN470 458 NEXT:PS=PS+1:I=PS:GOSUB130:PS$(I)=S1$+":"+ZE$:GOTO470 460 IFRIGHT$(PS$(I),5)<>ZE$THENPS$(I)=PS$(I)+" "+ZE$ 470 IFX=0GOTO320 480 IFX=44THENS1$="":GOTO360 490 IFX=58ORX>64ANDX<91THEN330 495 IFY1THENIFX=137ORX=138ORX=141ORX=203THEN355 498 IFX>127THEN330 500 PRINT:PRINT"[198]EHLER IM [209]UELLPROGRAMM. [218]EILE:"ZE$:GOTO1310 502 : 504 : 506 REM ------------------------------- 510 REM*** SORTIEREN DER SPRUNGZIELE (FELD PS$( *** 515 REM ------------------------------- 516 : 520 FORI=1TOPS-1 530 FORJ=I+1TOPS 540 IFLEFT$(PS$(I),5)>LEFT$(PS$(J),5)GOTO560 550 PS$(0)=PS$(I):PS$(I)=PS$(J):PS$(J)=PS$(0) 560 NEXTJ 570 NEXTI 574 : 575 REM-------------------------------- 576 REM AUSGABE SPRUENGE + SPRUNGZIELE 577 REM-------------------------------- 578 : 580 OPEN1,DV,7:PRINT#1,"[208]ROGRAMMNAME: "NA$:PRINT#1 590 PRINT#1,"SPRUNGTABELLE " 600 PRINT#1,"--------------------------" 605 PRINT#1,"ZEILE : SPRUNG AUF ZEILE ":PRINT#1 610 FORI=1TOSP 620 IFLEFT$(SP$(I-1),5)=LEFT$(SP$(I),5)THENPRINT#1,SPC(7)MID$(SP$(I),7):GOTO640 630 PRINT#1," "SP$(I) 640 NEXTI:PRINT#1 645 PRINT#1,"ZEILE : WIRD ANGESPRUNGEN VON":PRINT#1 650 PS$(0)="":FORI=PSTO1STEP-1 660 IFLEFT$(PS$(I+1),6)<>LEFT$(PS$(I),6)THENPRINT#1,PS$(I):GOTO680 670 PRINT#1,SPC(6);MID$(PS$(I),7) 680 NEXTI:CLOSE1 690 PRINT"[206][146]OCHMALS/[215][146]EITER" 700 GETA$:IFA$<>"N"ANDA$<>"W"GOTO700 710 IFA$="N"GOTO580 712 : 714 : 715 REM******************************** 716 REM PASS 2 VARIABLE SUCHEN 718 REM******************************** 719 : 720 PRINT"[147][208]ASS 2 ([211]UCHEN DER [214]ARIABLEN)" 730 OPEN1,8,2,NA$+",P,R":GOSUB1290:GOSUB120 740 GOSUB120:GOSUB120:ZE$=RIGHT$(" "+STR$(X),5):PRINT""ZE$:Y=0 745 Y2=0:Y3=0 750 Y1=0:IFY3=0THENGOSUB90 760 Y3=0:IFX=0THEN740 762 IFX=34THENY2=NOTY2 764 IFY2THEN750 770 IFX=131ORX=143THEN800 780 IFX>64ANDX<91GOTO850 790 GOTO750 800 IFX=131THENY=1 810 GOSUB90:IFX=0GOTO740 820 IFX=34THENY2=NOTY2 825 IFY2THEN810 830 IFX=58ANDY=1GOTO750 840 GOTO810 850 V1$=A$ 855 IFX=69THENIFX2>47ANDX2<58ORX2=46THEN750 860 GOSUB90 865 IFX=34THENY3=1:GOTO890 870 IFX=36ORX=37THENV1$=V1$+A$:GOSUB90:Y3=1:GOTO880 875 IFX>47ANDX<58ORX>64ANDX<91THEN952 880 IFX=40THENV1$=V1$+A$ 890 V1$=LEFT$(V1$+" ",4) 900 FORI=1TOVA 910 IFLEFT$(VA$(I),4)<>V1$THENNEXT:VA=I:GOSUB130:VA$(I)=V1$+" :" 920 IFLEN(VA$(I))<50THEN930 925 IFRIGHT$(VA$(I),5)=ZE$THEN940 928 NEXT:VA=VA+1:I=VA:GOSUB130:VA$(I)=V1$+" :"+ZE$:GOTO940 930 IFRIGHT$(VA$(I),5)<>ZE$THENVA$(I)=VA$(I)+" "+ZE$ 940 IFX=0GOTO740 950 GOTO750 952 IFY1=0THENV1$=V1$+A$:Y1=1 954 GOTO860 956 REM ------------------------------- 960 REM *** SORTIEREN DER VARIABLEN (FELD VA$( *** 965 REM ------------------------------- 968 : 970 FORI=1TOVA 980 FORJ=ITOVA 990 IFLEFT$(VA$(I),4)>LEFT$(VA$(J),4)GOTO1010 1000 VA$(0)=VA$(I):VA$(I)=VA$(J):VA$(J)=VA$(0) 1010 NEXTJ 1020 NEXTI:VA=VA-1:I=VA 1025 : 1030 PRINT"[147][215]OLLEN [211]IE ZU DEN [214]ARIABLEN":PRINT"[194]EMERKUNGEN EINGEBEN? "; 1040 GETA$:IFA$="N"GOTO1180 1050 IFA$<>"J"GOTO1040 1060 PRINT"[202]A" 1070 PRINT"[214]ARIABLENNAME: ";LEFT$(VA$(I),4) 1073 PRINTLE$ 1075 IFLEN(VA$(I))>70THENPRINT"[145][145]"RIGHT$(VA$(I),25) 1080 GETA$:IFA$<>"[145]"ANDA$<>""ANDA$<>CHR$(13)GOTO1080 1090 IFA$="[145]"THENI=I+1:IFI>VATHENI=VA 1100 IFA$=""THENI=I-1:IFI<1THENI=1 1110 IFA$<>CHR$(13)GOTO1070 1120 VR$=LEFT$(VA$(I),4):OPEN1,0 1130 PRINT"[212]EXT:";:INPUT#1,TE$:PRINT:CLOSE1:TE$=LEFT$(TE$,25) 1140 FORI=VATO1STEP-1 1150 IFLEFT$(VA$(I),4)<>VR$THENNEXT:PRINT"[206]ICHT VORHANDEN.":GOTO1070 1160 VA$(I)=LEFT$(VA$(I)+LE$,55)+RIGHT$(LE$+TE$,25):GOTO1030 1170 VR$=LEFT$(VR$,4) 1175 REM------------------------------- 1176 REM AUSGABE VARIABLE 1177 REM------------------------------- 1180 PRINT:OPEN1,DV,7 1190 PRINT#1,"LISTE DER VARIABLEN :" 1200 PRINT#1,"-------------------------" 1210 FORI=VATO1STEP-1 1220 IFLEFT$(VA$(I+1),4)<>LEFT$(VA$(I),4)THENPRINT#1,VA$(I):GOTO1240 1230 PRINT#1,SPC(6);MID$(VA$(I),7) 1240 NEXTI 1250 PRINT"N[146]OCHMALS/W[146]EITER" 1260 GETA$:IFA$<>"N"ANDA$<>"W"GOTO1260 1263 IFA$="N"GOTO1190 1266 PRINT"[214]ARIABLENLISTE OHNE [218]EILENNUMMER (J/N)" 1267 GETR$:IFR$=""THEN1267 1268 IFR$<>"J"THENPRINT:PRINT"ENDE":GOTO1310 1269 PRINT#1:PRINT#1:PRINT#1,"[214]ARIABLENLISTE OHNE [218]EILENNUMMER" 1270 PRINT#1,"-------------------------------" 1271 FORI=VATO1STEP-1 1272 IFLEN(VA$(I))>70THENPRINT#1,LEFT$(VA$(I),8);RIGHT$(VA$(I),25):GOTO1274 1273 PRINT#1,LEFT$(VA$(I),8) 1274 NEXTI 1280 GOTO1310 1290 INPUT#2,A$,B$:IFA$="00"THENRETURN 1300 PRINT:PRINT"[196]ISK-[197]RROR: ";B$ 1310 CLOSE1:CLOSE2:END